package com.chezhujie.www.domain;

import com.chezhujie.www.core.init.mysql.BaseEntity;
import com.chezhujie.www.core.init.mysql.annotation.Column;
import com.chezhujie.www.core.init.mysql.annotation.Entity;
import com.chezhujie.www.core.init.mysql.annotation.Id;
import com.chezhujie.www.core.init.mysql.annotation.Table;

import java.math.BigDecimal;
import java.util.Date;

/**
 * Created by 汤伟杰 on 2017/6/14.
 */
@Entity
@Table(name="czj_weixinvoucher",describe = "微信支付凭证")
public class Czjweixinvoucher extends BaseEntity{

    @Column(describe = "公众账号ID",length = 32)
    private String appid;
    @Column(describe = "商户号",length = 32)
    private String mch_id;
    @Column(describe = "设备号",length = 32)
    private String device_info;
    @Column(describe = "随机字符串",length = 32)
    private String nonce_str;
    @Column(describe = "签名",length = 32)
    private String sign;
    @Column(describe = "签名类型",length = 32)
    private String sign_type;
    @Column(describe = "业务结果",length = 16)
    private String result_code;
    @Column(describe = "错误代码",length = 32)
    private String err_code;
    @Column(describe = "错误代码描述",length = 128)
    private String err_code_des;
    @Column(describe = "用户标识",length = 128)
    private String openid;
    @Column(describe = "是否关注公众账号",length = 1)
    private String is_subscribe;
    @Column(describe = "交易类型",length = 16)
    private String trade_type;
    @Column(describe = "付款银行",length = 16)
    private String bank_type;
    @Column(describe = "订单金额",length = 11)
    private BigDecimal total_fee;
    @Column(describe = "应结订单金额",length = 11)
    private Integer settlement_total_fee;
    @Column(describe = "货币种类",length = 8)
    private String fee_type;
    @Column(describe = "现金支付金额",length = 11)
    private Integer cash_fee;
    @Column(describe = "现金支付货币类型",length = 16)
    private String cash_fee_type;
    @Column(describe = "总代金券金额",length = 11)
    private Integer coupon_fee;
    @Column(describe = "代金券使用数量",length = 11)
    private Integer coupon_count;
    @Column(describe = "代金券类型",length = 11)
    private Integer coupon_type_n;
    @Column(describe = "代金券ID",length = 20)
    private String coupon_id_n;
    @Column(describe = "单个代金券支付金额",length = 11)
    private Integer coupon_fee_n;
    @Id
    @Column(describe = "微信支付订单号",length = 32)
    private String transaction_id;
    @Column(describe = "商户订单号",length = 32)
    private String out_trade_no;
    @Column(describe = "商家数据包",length = 128)
    private String attach;
    @Column(describe = "支付完成时间",length = 14)//yyyyMMddHHmmss
    private String time_end;
    @Column(describe = "支付完成时间",inputType = "date")
    private Date paytime;
    private Date paytimeStart;
    private Date paytimeEnd;
    @Column(describe = "订单生成状态",length = 1,inputType = "select",inputCode = "runningstatus")
    private Integer runningStatus;
    @Column(describe = "用户Id",length =20,inputType="int")
    private Integer userinfoId; 

    
    public Integer getUserinfoId() {
		return userinfoId;
	}

	public void setUserinfoId(Integer userinfoId) {
		this.userinfoId = userinfoId;
	}

	public String getAppid() {
        return appid;
    }

    public void setAppid(String appid) {
        this.appid = appid;
    }

    public String getMch_id() {
        return mch_id;
    }

    public void setMch_id(String mch_id) {
        this.mch_id = mch_id;
    }

    public String getDevice_info() {
        return device_info;
    }

    public void setDevice_info(String device_info) {
        this.device_info = device_info;
    }

    public String getNonce_str() {
        return nonce_str;
    }

    public void setNonce_str(String nonce_str) {
        this.nonce_str = nonce_str;
    }

    public String getSign() {
        return sign;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }

    public String getSign_type() {
        return sign_type;
    }

    public void setSign_type(String sign_type) {
        this.sign_type = sign_type;
    }

    public String getResult_code() {
        return result_code;
    }

    public void setResult_code(String result_code) {
        this.result_code = result_code;
    }

    public String getErr_code() {
        return err_code;
    }

    public void setErr_code(String err_code) {
        this.err_code = err_code;
    }

    public String getErr_code_des() {
        return err_code_des;
    }

    public void setErr_code_des(String err_code_des) {
        this.err_code_des = err_code_des;
    }

    public String getOpenid() {
        return openid;
    }

    public void setOpenid(String openid) {
        this.openid = openid;
    }

    public String getIs_subscribe() {
        return is_subscribe;
    }

    public void setIs_subscribe(String is_subscribe) {
        this.is_subscribe = is_subscribe;
    }

    public String getTrade_type() {
        return trade_type;
    }

    public void setTrade_type(String trade_type) {
        this.trade_type = trade_type;
    }

    public String getBank_type() {
        return bank_type;
    }

    public void setBank_type(String bank_type) {
        this.bank_type = bank_type;
    }

    public BigDecimal getTotal_fee() {
        return total_fee;
    }

    public void setTotal_fee(BigDecimal total_fee) {
        this.total_fee = total_fee;
    }

    public Integer getSettlement_total_fee() {
        return settlement_total_fee;
    }

    public void setSettlement_total_fee(Integer settlement_total_fee) {
        this.settlement_total_fee = settlement_total_fee;
    }

    public String getFee_type() {
        return fee_type;
    }

    public void setFee_type(String fee_type) {
        this.fee_type = fee_type;
    }

    public Integer getCash_fee() {
        return cash_fee;
    }

    public void setCash_fee(Integer cash_fee) {
        this.cash_fee = cash_fee;
    }

    public String getCash_fee_type() {
        return cash_fee_type;
    }

    public void setCash_fee_type(String cash_fee_type) {
        this.cash_fee_type = cash_fee_type;
    }

    public Integer getCoupon_fee() {
        return coupon_fee;
    }

    public void setCoupon_fee(Integer coupon_fee) {
        this.coupon_fee = coupon_fee;
    }

    public Integer getCoupon_count() {
        return coupon_count;
    }

    public void setCoupon_count(Integer coupon_count) {
        this.coupon_count = coupon_count;
    }

    public Integer getCoupon_type_n() {
        return coupon_type_n;
    }

    public void setCoupon_type_n(Integer coupon_type_n) {
        this.coupon_type_n = coupon_type_n;
    }

    public String getCoupon_id_n() {
        return coupon_id_n;
    }

    public void setCoupon_id_n(String coupon_id_n) {
        this.coupon_id_n = coupon_id_n;
    }

    public Integer getCoupon_fee_n() {
        return coupon_fee_n;
    }

    public void setCoupon_fee_n(Integer coupon_fee_n) {
        this.coupon_fee_n = coupon_fee_n;
    }

    public String getTransaction_id() {
        return transaction_id;
    }

    public void setTransaction_id(String transaction_id) {
        this.transaction_id = transaction_id;
    }

    public String getOut_trade_no() {
        return out_trade_no;
    }

    public void setOut_trade_no(String out_trade_no) {
        this.out_trade_no = out_trade_no;
    }

    public String getAttach() {
        return attach;
    }

    public void setAttach(String attach) {
        this.attach = attach;
    }

    public String getTime_end() {
        return time_end;
    }

    public void setTime_end(String time_end) {
        this.time_end = time_end;
    }

    public Date getPaytime() {
        return paytime;
    }

    public void setPaytime(Date paytime) {
        this.paytime = paytime;
    }

    public Date getPaytimeStart() {
        return paytimeStart;
    }

    public void setPaytimeStart(Date paytimeStart) {
        this.paytimeStart = paytimeStart;
    }

    public Date getPaytimeEnd() {
        return paytimeEnd;
    }

    public void setPaytimeEnd(Date paytimeEnd) {
        this.paytimeEnd = paytimeEnd;
    }

    public Integer getRunningStatus() {
        return runningStatus;
    }

    public void setRunningStatus(Integer runningStatus) {
        this.runningStatus = runningStatus;
    }
}
